//
//  HttpBaseModel.h
//  SinaWeibo
//
//  Created by Stephy_xue on 13-9-26.
//  Copyright (c) 2013年 Stephy_xue. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "MKNetworkEngine.h"
#import "AppData.h"
#import "SizeHeader.h"

@interface HttpBaseModel : NSObject

@property(nonatomic,retain) MKNetworkEngine *engine;
@property(nonatomic,retain) MKNetworkEngine *Anotherengine;

typedef void (^ResponseDataBlock)(id);

-(void)getDataResponsePath:(NSString *)path
                    params:(NSMutableDictionary*) params
                httpMethod:(NSString*)method
              onCompletion:(void (^)(NSData *responseData))completionBlock
                   onError:(MKNKErrorBlock)errorBlock;

-(void)getAnotherDataResponsePath:(NSString *)path
                           params:(NSMutableDictionary*) params
                       httpMethod:(NSString*)method
                     onCompletion:(void (^)(NSData *responseData))completionBlock
                          onError:(MKNKErrorBlock)errorBlock;

- (void)uploadImageHostName:(NSString *)path
                      image:(NSData *)imageData
                     params:(NSMutableDictionary*) params
                 httpMethod:(NSString*)method
               onCompletion:(void (^)(NSData *responseData))completionBlock
                    onError:(MKNKErrorBlock)errorBlock;

- (void)AnotheruploadImageHostName:(NSString *)path
                             image:(NSData *)imageData
                            params:(NSMutableDictionary*) params
                        httpMethod:(NSString*)method
                      onCompletion:(void (^)(NSData *responseData))completionBlock
                           onError:(MKNKErrorBlock)errorBlock;


-(void)downDataResponsePath:(NSString *)path
                     params:(NSMutableDictionary*) params
                 httpMethod:(NSString*)method
               onCompletion:(void (^)(NSData *responseData))completionBlock
                    onError:(MKNKErrorBlock)errorBlock;

+ (HttpBaseModel*)getInstance;
+ (HttpBaseModel*)getAnotherInstance;

@end
